package com.cx.base.day13_io.io_09_byteArrayInputOutStream.toDynamicBufByteArray;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;

/**
 * 如果要动态缓存一段字节数组，推荐使用ByteArrayOutPutStream
 *
 * @Author: robert.song
 * @Date: Created in 2022/5/25
 */
public class DynamicBufByteArray {

    public static void main(String[] args) throws IOException {
        byte[] bytes = new byte[1024];
        for (int i = 0; i < bytes.length; i++) {
            bytes[i] = (byte) (i % 128);
        }
//        如上一份字符数组，如果需要缓存，ByteArrayOutputStream是推荐工具
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        baos.write(bytes);
//        baos.toByteArray()：baos并没有直接返回内部缓冲，出于安全考虑，而是复制给一个新数组返回
        for (byte b : baos.toByteArray()) System.out.println(b);
    }
}
